//
// Created by 11518 on 2024/11/22.
//

#ifndef MY_APPLICATION_SYSINFO_H
#define MY_APPLICATION_SYSINFO_H

typedef unsigned long ulong;
typedef unsigned short u16;

class SysInfo {
public:
    bool update();
public:
    long getUpTime();

    ulong getTotalRam();

    ulong getFreeRam();

    ulong getLoad1();

    ulong getLoad5();

    ulong getLoad15();

    ulong getBufferRam() const;

    ulong getShareRam() const;

    ulong getTotalSwap() const;

    ulong getFreeSwap() const;

    u16 getProcs() const;

    u16 getPad() const;

private:
    long m_UpTime;
    ulong m_TotalRam;
    ulong m_FreeRam;
    ulong m_BufferRam;
    u16 m_Procs;
    u16 m_Pad;

    ulong m_ShareRam;
    ulong m_Load_1;
    ulong m_Load_5;
    ulong m_Load_15;

    ulong m_TotalSwap;
    ulong m_FreeSwap;

};


#endif //MY_APPLICATION_SYSINFO_H
